/**
 * 
 */
package org.stars.daostars.core.parser;

/**
 * @author Francesco Benincasa (908099)
 *
 */
abstract class RegExGroup {
	/**
	 * Rappresenta il group number della clausola if.
	 * Esempio:
	 * <pre>
	 * 		& cond { state1 } { state2 }
	 * </pre>
	 * Esso è uguale a
	 * <pre>cond</pre>
	 */
	public static int GROUP_IF=3;
	
	/**
	 * Rappresenta il group number della statement if.
	 * Esempio:
	 * <pre>
	 * 		& cond { state1 } { state2 }
	 * </pre>
	 * Esso è uguale a
	 * <pre>state1</pre>
	 */
	public static int GROUP_IF_STATEMENT=4;
	
	/**
	 * Rappresenta il group number della statement if.
	 * Esempio:
	 * <pre>
	 * 		& cond { state1 } { state2 }
	 * </pre>
	 * Esso è uguale a
	 * <pre>state2</pre>
	 */
	public static int GROUP_IF_STATEMENT_ELSE=6;
	
	/**
	 * Rappresenta il group number del nome dell'attributo.
	 * Esempio:
	 * <pre>
	 * 		&[attributo]
	 * </pre>
	 * Esso è uguale a
	 * <code>attributo</code>
	 * Nel caso di parametro con funzione:
	 * 	 * Esempio:
	 * <pre>
	 * 		&[funzione(attributo)]
	 * </pre>
	 * Esso è uguale a
	 * <code>funzione</code>
	 */
	public static int GROUP_ATTRIBUTE=19;	
	
	/**
	 * Rappresenta il group number del nome dell'argomento della funzione.
	 * Esempio:
	 * <pre>
	 * 		&[attributo]
	 * </pre>
	 * Esso non esiste.
	 * Nel caso di parametro con funzione:
	 * <pre>
	 * 		&[funzione(attributo)]
	 * </pre>
	 * Esso è uguale a
	 * <pre>attributo</pre>
	 */
	public static int GROUP_ATTRIBUTE_ARGUMENT=22;

	/**
	 * Rappresenta il group number del nome della variabile da preprocessore.
	 * Esempio:
	 * <pre>
	 * 		#[variabile]
	 * </pre>
	 * Esso è uguale a
	 * <code>variabile</code>
	 * Nel caso di parametro con funzione:
	 * 	 * Esempio:
	 * <pre>
	 * 		&[funzione(variabile)]
	 * </pre>
	 * Esso è uguale a
	 * <code>funzione</code>
	 */
	public static int GROUP_VARIABLE=26;	
	
	/**
	 * Rappresenta il group number del nome dell'argomento della funzione.
	 * Esempio:
	 * <pre>
	 * 		&[variabile]
	 * </pre>
	 * Esso non esiste.
	 * Nel caso di parametro con funzione:
	 * <pre>
	 * 		&[funzione(variabile)]
	 * </pre>
	 * Esso è uguale a
	 * <pre>variabile</pre>
	 */
	public static int GROUP_VARIABILE_ARGUMENT=29;	
	
	/**
	 * Rappresenta il group number del nome dell'attributo da considerare come array
	 * Esempio:
	 * <pre>
	 * 		@[attributo] { statement }
	 * </pre>
	 * Esso è uguale a <code>attributo</code>.
	 * Nel caso di parametro con funzione:
	 * <pre>
	 * 		@[funzione(attributo)] { statement }
	 * </pre>
	 * Esso è uguale a
	 * <code>funzione</code>
	 */
	public static int GROUP_ARRAY=10;
	
	/**
	 * Rappresenta il group number del nome dell'argomento della funzione da considerare come array
	 * Esempio:
	 * <pre>
	 * 		@[attributo] { statement }
	 * </pre>
	 * Esso non esiste.
	 * Nel caso di parametro con funzione:
	 * <pre>
	 * 		@[funzione(attributo)] { statement }
	 * </pre>
	 * Esso è uguale a
	 * <code>attributo</code>
	 */
	public static int GROUP_ARRAY_ARGUMENT=13;
	
	/**
	 * Rappresenta il group number del nome dell'argomento della funzione da considerare come array
	 * Esempio:
	 * <pre>
	 * 		@[attributo] { statement }
	 * </pre>
	 * Esso non esiste.
	 * Nel caso di parametro con funzione:
	 * <pre>
	 * 		@[funzione(attributo)] { statement }
	 * </pre>
	 * Esso è uguale a
	 * <pre>attributo</pre>
	 */
	public static int GROUP_ARRAY_STATEMENT_ELSE=15;
}
